最后更新时间:2019年6月17日
功能介绍
地图覆盖物,也即是各种自定义的几何图形与图像,几何图形能够在地图容器中自由绘制。地图覆盖物具体包括:点、线、圆、多边形、文本、图像等,这些几何图形与图像具有空间位置信息特征,与GIS相结合,能够满足在移动应用中的需求。
图形绘制功能在移动GIS中是非常重要的一部分,查询、编辑、分析等功能均涉及到移动端的图形绘制。一般通过绘制图形来获取地图的空间范围,为查询等功能提供条件限制,或提供操作要素的空间属性等。可以在程序中直接根据给定的信息来创建、绘制图形,在实际应用中,使用更多的是通过手势交互绘制,后续将会对这两种方式详细讲解。
开发者可通过该功能,实现在地图绘图层上绘制点图形,包括单点、多点几何图形。
开发者可通过该功能,实现在地图绘图层上绘制线图形,包括实线、虚线、纹理线等几何图形。
开发者可通过该功能,实现在地图绘图层上绘制多边形图形,支持绘制一般多边形(单圈区)、带洞区图形(多圈区)。
开发者可通过该功能,实现在地图绘图层上绘制圆图形。
开发者可通过该功能,实现地图绘图层上添加文本信息,可作为地物标注的文字说明。
开发者可通过该功能,实现地图绘图层上添加图像,可作为地物标注的图标。
开发者可通过该功能,实现移动端交互式图形绘制,即通过用户手势操作(如短按、长按、双击手势等)绘制图形。
功能接口
MapGIS Mobile 10.3 for Android的SDK封装了自定义图形类,点、线、多边形、圆、文本、图片等,都在com.zondy.mapgis.android.graphic包下,这些图形的创建、绘制方法都具有相通性。
绘制自定义图形的原理:首先获取或创建一个覆盖物图层GraphicsOverlay,也即绘图层。可以从地图容器获取缺省的绘图层,也可以自定义一个然后添加到覆盖物图层列表中。然后构造自定义图形对象,再将其添加到覆盖物图层中进行绘制,通过其渲染机制在地图上展现。整体的思路可以借鉴上方的结构图来理解。
实现方法
地图覆盖物的实现流程如下:
(1) 用户交互绘制:通过手势交互操作的事件捕获到当前屏幕坐标点,并将点的屏幕坐标转换为地图坐标;(非交互绘制跳过此步)
(2) 构造自定义图形对象:创建自定义图形对象并进行初始化,包括图形空间信息(地图坐标点等)、图形显示样式(颜色、填充颜色、线条宽度等);
(3) 将图形添加到地图视图:获取地图视图中的绘图图层,通过方法addGraphic()将图形对象添加到地图视图中,最后刷新地图即可。